Hardware components used in computing devices, such as, e.g., desktop computers, laptop computers, tablet computers, etc., often include firmware, which can refer to a combination of hardware and executable instructions that control low-level functionality of the hardware components. That is, firmware may enable proper operation of a computing device by allowing for the interaction between hardware components installed in a computing device. As an example, a hard drive can include firmware that configures the hard drive upon power-up, interprets and executes instructions from a processor, and safely powers down the hard drive.
Unified Extensible Firmware Interface (UEFI) refers to a specification (managed by the Unified EFI Forum) that defines a software interface between an operating system and platform firmware. UEFI is meant as a replacement for the Basic Input/Output System (BIOS) firmware interface. That is, an while BIOS may be thought of as a fundamentally solid piece of firmware, UEFI may be thought of as a programmable software interface that sits on top of a computing device's hardware and firmware (i.e., UEFI can and does sit on top of BIOS). Rather than all boot code being stored in a motherboard's BIOS, UEFI can sit in an EFI/directory in some non-volatile memory, e.g., on the motherboard, on a hard drive, or on a network share. In other words, EFI software can be loaded from firmware, e.g., flash memory, upon system start up. Once loaded, it can take control of the boot process. As a result, UEFI can be thought to resemble a lightweight or pseudo-operating system (OS).